package com.ssy.lingxi.system.service;

import com.ssy.lingxi.common.response.PageData;
import com.ssy.lingxi.common.response.PageModel;
import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.system.dto.request.CommonIdDTO;
import com.ssy.lingxi.system.entity.ShopConfig;
import com.ssy.lingxi.system.model.dto.common.CommonStateDTO;
import com.ssy.lingxi.system.model.dto.shop.AddShopDTO;
import com.ssy.lingxi.system.model.dto.shop.SiteIdAndTemplateIdDTO;
import com.ssy.lingxi.system.model.dto.shop.UpdateShopDTO;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @menu 基础设置 - 商城设置 - 业务处理层
 * @author fhj
 * @version 2.0.0
 * @date 2020/7/20
 */
public interface ShopConfigService {

    Wrapper<PageData<ShopConfig>> list(PageModel dto);

    Wrapper<ShopConfig> details(CommonIdDTO dto);

    Wrapper<Void> add(HttpServletRequest request, AddShopDTO dto);

    Wrapper<Void> update(HttpServletRequest request, UpdateShopDTO dto);

    Wrapper<Void> delete(CommonIdDTO dto);

    Wrapper<Void> stopAndStart(HttpServletRequest request, CommonStateDTO dto);

    Wrapper<List<ShopConfig>> all();

    Wrapper<List<ShopConfig>> allBySiteAndTemplate(SiteIdAndTemplateIdDTO dto);
}
